const express = require("express");
const http = require("http");
const { Server } = require("socket.io");

const app = express();
const server = http.createServer(app);

const io = new Server(server, {
  // 允许ws跨域
  cors: {
    origin: "http://localhost:5500",
    credentials: true,
  },
});

// ws服务器绑定事件，监听客户端连接事件
io.on("connection", (socket) => {
  // socket连接上的客户端对象
  console.log("客户端连接上了~");

  // 监听客户端发送的msg消息，content是消息的具体内容
  socket.on("msg", (content) => {
    console.log(content);

    // 将消息发送给别人
    // 1. 将消息发送给自己
    // socket.emit("hello", "服务器发给客户端的消息~~~");
    // 2. 将消息发送除了自己以外其他人
    socket.broadcast.emit("hello", "服务器发送给所有人消息");
    // 3. 将消息发送给所有人（包括自己）
    // io.emit("hello", "服务器发送给所有人消息");
  });
});

server.listen(3000, () => {
  console.log("listening on *:3000");
});
